# Python有五个标准的数据类型：

"""
Numbers（数字）
    int（有符号整型）
    long（长整型[也可以代表八进制和十六进制]）
    float（浮点型）
    complex（复数）
"""
help(abs)
a = -1
print(a)
print(abs(a))
"""
String（字符串）
    python的字串列表有2种取值顺序:
    从左到右索引默认0开始的，最大范围是字符串长度少1
    从右到左索引默认-1开始的，最大范围是字符串开头
    R  U  N  O  O  B
    0  1  2  3  4  5    →
    -6 -5 -4 -3 -2 -1   ←
"""
str = 'RUNOOB'
print(str)
print(str[0: 5])
print(str[0: 5: 2])
print(str[0:])
print(str[-1:])
print(str * 2)
print(str + "!")
print(len(str))
print(str[::-1])
print("----------------------")
print(str.count("O"))
print(str.find("O"))
print(str.index("R"))
print("----------------------")
print(str.partition("O"))
print(str.rpartition("O"))
# 换行打印
str1 = """ab
cd
ef
"""
print(str1.splitlines())
str2 = "hello word"
print(str2.replace('h',  'H'))
# format()
str3 = "my {} is {}"
print(str3.format("name", "daisy"))
str4 = "my {1} is {0}"
print(str4.format("name", "daisy"))

# 大小写转换
str5 = "abcdeFGHI"
print(str5.upper())
print(str5.lower())
print(str5.swapcase())
# python编码
print(ord("A"))
print(chr(65))
"""
List（列表）
     
"""
print("---------List（列表）-------------")
list0 = ['runoob', 786, 2.23, 'john', 70.2]
tinylist = [123, 'john']

print(list0)  # 输出完整列表
print(list0[0])  # 输出列表的第一个元素
print(list0[1:3])  # 输出第二个至第三个元素
print(list0[2:])  # 输出从第三个开始至列表末尾的所有元素
print(tinylist * 2)  # 输出列表两次
print(list0 + tinylist)  # 打印组合的列表
# 倒序输出
print(list0[::-1])
list0.reverse()
print("=======list 1 ==========")
list1 = ['runoob', '786', 'john', '70.2']
print(list1)
list1.sort()
print(list1)
# list 函数
print("=======list 函数 ==========")
a = "abcd"
print(list(a))

"""
Tuple（元组）
    元组是另一个数据类型，类似于 List（列表）。
    元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值，相当于只读列表。
"""
print("---------Tuple（元组）-------------")
tuple0 = ('runoob', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')
print(tuple0)  # 输出完整元组
print(tuple0[0])  # 输出元组的第一个元素
print(tuple0[1:3])  # 输出第二个至第四个（不包含）的元素
print(tuple0[2:])  # 输出从第三个开始至列表末尾的所有元素
print(tinytuple * 2)  # 输出元组两次
print(tuple0 + tinytuple)  # 打印组合的元组
print("========= tuple1  =============")
tuple1 = ('runoob', "a", "b", 'john', "c")
str9 = ''.join(tuple1)
print(str9)
"""
Dictionary（字典）
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合，
字典是无序的对象集合。
两者之间的区别在于：字典当中的元素是通过键来存取的，而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
"""
print("---------Dictionary（字典）-------------")
dic0 = {"name": "zhangsan", "img": "null", "age": 29}
print(dic0)
print(dic0.keys())
dic0["name"] = "lisi"
print(dic0)
print("name" in dic0)
print("---------#遍历key-------------")
for i in dic0:
    print(i)
print("---------#遍历value-------------")
for i in dic0.values():
    print(i)
